package com.walleipt.demo.aop.customAopSimple;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
	
	
	
	/**
	 * 1.import：通过BeforeLogerRegistar->BeforeLoggerAutoProxyCreator类
	 * 2.BeforeLoggerAutoProxyCreator
	 * 		a.注册Interceport
	 * 		b.做目标对象的过滤(这里指定了是否使用动态代理创建目标对象；目标对象会进行使用interceport的方法执行切面逻辑)
	 */
	public static void main(String[] args) {
	
		/**
		 * alt+shift+l 生成名称
		 * shift+enter 换行
		 * ctrl+t 查看接口的实现类
		 */
		AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
		MyPrinter printer = (MyPrinter) applicationContext.getBean("myPrinter");
//		Class<? extends MyPrinter> class1 = printer.getClass();
//		System.err.println(class1) ;
		printer.print() ;
		applicationContext.close() ;
		
	}

}
